{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Imports\n",
    "\n",
    "Import all the modules and functionalities we need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "# Import standard libraries.\n",
    "from collections import defaultdict\n",
    "import itertools\n",
    "from IPython.display import Image\n",
    "import os\n",
    "\n",
    "# Import third party libraries.\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import scipy.signal as sign\n",
    "import scipy.stats as stats\n",
    "from statsmodels.stats.multitest import multipletests\n",
    "\n",
    "# Import custom libraries/scripts.\n",
    "import annotations\n",
    "import helpers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Loading data\n",
    "\n",
    "Fetch all our relevant data for the current analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set working contants.\n",
    "EXPERIMENTS_PATH = r'E:\\Miguel\\PhD\\Results\\Competition\\DL\\Four-Arena Setup\\sensory_mutants\\processed'\n",
    "FPS = 60\n",
    "N_MINUTES = 45\n",
    "N_FRAMES = N_MINUTES * 60 * FPS\n",
    "INK = 'black'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set figure configurations.\n",
    "sns.set(\n",
    "        context='paper',\n",
    "        style='ticks',\n",
    "        font='sans-serif',\n",
    "        font_scale=1.0, \n",
    "        rc={\n",
    "            'axes.axisbelow': True,\n",
    "            'axes.edgecolor': INK,\n",
    "            'axes.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'axes.grid': False,\n",
    "            'axes.labelcolor': INK,\n",
    "            'axes.labelsize': 13.0,\n",
    "            'axes.labelweight': 'normal',\n",
    "            'axes.linewidth': 1.0,\n",
    "            'axes.spines.left': True,\n",
    "            'axes.spines.bottom': True,\n",
    "            'axes.spines.top': False,\n",
    "            'axes.spines.right': False,\n",
    "            'axes.titlepad': 15.0,\n",
    "            'axes.titlesize': 20.0,\n",
    "            'axes.titleweight': 'bold',\n",
    "            'figure.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'figure.figsize': [4.0, 4.0],\n",
    "            'figure.titlesize': 30.0,\n",
    "            'figure.titleweight': 'bold',\n",
    "            'font.family': ['sans-serif'],\n",
    "            'font.sans-serif': ['Arial'],\n",
    "            'legend.frameon': False,\n",
    "            'legend.fontsize': 11.0,\n",
    "            'lines.color': INK,\n",
    "            'lines.linewidth': 1.0,\n",
    "            'patch.edgecolor': INK,\n",
    "            'savefig.dpi': 300,\n",
    "            'savefig.format': 'png',\n",
    "            'savefig.bbox': 'tight',\n",
    "            'savefig.transparent': True,\n",
    "            'text.color': INK,\n",
    "            'text.usetex': False,\n",
    "            'xtick.color': INK,\n",
    "            'xtick.direction': 'out',\n",
    "            'xtick.labelsize': 12.0,\n",
    "            'xtick.major.pad': 5.0,\n",
    "            'xtick.major.size': 0.0,\n",
    "            'xtick.major.width': 1.0,\n",
    "            'xtick.minor.size': 0.0,\n",
    "            'xtick.minor.width': 0.4,\n",
    "            'ytick.color': INK,\n",
    "            'ytick.direction': 'out',\n",
    "            'ytick.labelsize': 12.0,\n",
    "            'ytick.major.pad': 5.0,\n",
    "            'ytick.major.size': 3.0,\n",
    "            'ytick.major.width': 1.0,\n",
    "            'ytick.minor.size': 0.0,\n",
    "            'ytick.minor.width': 0.4\n",
    "           }\n",
    "       )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Folder already exists, skipping.\n"
     ]
    }
   ],
   "source": [
    "# Prepare the Figures folder to save our graphs in.\n",
    "savepath = os.path.join(r'C:\\Users\\Miguel\\Desktop\\paper_data', 'paper_figures', 'figureS2')\n",
    "try:\n",
    "    os.makedirs(savepath)\n",
    "    print('New folder created.')\n",
    "except FileExistsError:\n",
    "    print('Folder already exists, skipping.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Paths to conditions:\n",
      " ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2']\n"
     ]
    }
   ],
   "source": [
    "# Set the conditions to analyze.\n",
    "condition_order = ['DL', 'PoxN1', 'PoxN2', 'aristaless', 'NorpA', 'Ir8a_Ir25a_ORCO_Gr63a']\n",
    "conditions = [item.path for item in os.scandir(EXPERIMENTS_PATH) if item.name in condition_order]\n",
    "print('Paths to conditions:\\n', conditions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['video_2019-02-26T14_04_30_arena3', 'video_2018-10-30T14_27_48_arena4', 'video_2019-01-22T14_37_51_arena3', 'video_2018-11-08T15_53_03_arena1', 'video_2018-11-20T15_54_06_arena1', 'video_2019-01-10T15_20_27_arena4', 'video_2019-01-11T14_09_38_arena2']\n",
      "7\n"
     ]
    }
   ],
   "source": [
    "# Create a list of all the experiments that we DO NOT want to analyze.\n",
    "intruders = []\n",
    "for condition_path in conditions:\n",
    "    for file in os.listdir(condition_path):\n",
    "        if 'quality_control' in file:\n",
    "\n",
    "            # Read the quality.csv file to check which experiments are usable for analysis.\n",
    "            quality_file = os.path.join(condition_path, file)\n",
    "            quality_df = pd.read_csv(quality_file, usecols=[0,1], index_col=0)\n",
    "            quality_df = quality_df[quality_df['is_usable'] == False].index.values\n",
    "            \n",
    "            for value in quality_df:\n",
    "                intruders.append(value)\n",
    "\n",
    "print(intruders)             \n",
    "print(len(intruders))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\t\n",
      " aristaless\n",
      "Copulation too short: video_2019-02-04T15_15_41_arena3\n",
      "Copulation too short: video_2019-02-07T14_18_30_arena4\n",
      "Copulation too short: video_2019-02-22T14_13_46_arena2\n",
      "Copulation too short: video_2019-02-26T14_04_30_arena2\n",
      "\t\n",
      " DL\n",
      "Copulation interrupted: video_2018-11-05T13_29_41_arena2\n",
      "Copulation too short: video_2019-02-12T14_18_45_arena3\n",
      "\t\n",
      " Ir8a_Ir25a_ORCO_Gr63a\n",
      "Copulation interrupted: video_2018-10-29T13_34_11_arena1\n",
      "Copulation interrupted: video_2018-10-29T14_30_25_arena2\n",
      "Copulation interrupted: video_2018-11-08T15_53_03_arena4\n",
      "Copulation interrupted: video_2018-11-20T15_54_06_arena2\n",
      "Copulation too short: video_2018-11-23T13_16_41_arena4\n",
      "Copulation interrupted: video_2019-01-23T13_53_58_arena4\n",
      "\t\n",
      " NorpA\n",
      "Copulation too short: video_2018-11-08T14_54_53_arena1\n",
      "Copulation too short: video_2018-11-26T16_15_44_arena2\n",
      "\t\n",
      " PoxN1\n",
      "\t\n",
      " PoxN2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'DL': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T13_42_23_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T14_33_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T15_22_02_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T16_11_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T13_34_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T14_30_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T13_33_46_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T15_21_16_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T13_15_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T14_24_57_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T16_10_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T13_24_50_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T16_04_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-13T15_07_14_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T13_24_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T15_07_55_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-16T16_03_35_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-19T13_24_37_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-22T13_23_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T13_25_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T14_15_27_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-08T14_28_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-10T13_33_34_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-21T13_49_00_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-22T15_30_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-23T13_53_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-28T14_28_36_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T13_34_34_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T15_10_22_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T13_23_14_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T15_15_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-05T14_28_35_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T14_18_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T16_17_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-08T13_28_42_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T13_24_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T14_25_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-12T13_18_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T14_07_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T15_15_28_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T13_35_00_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T13_31_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T14_29_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T14_29_51_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T15_27_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T13_22_20_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T15_05_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T14_15_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T16_00_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T13_16_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T14_04_30_arena1'],\n",
       " 'PoxN1': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-05T14_25_33_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-08T14_54_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T13_32_43_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T15_15_47_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T16_10_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T14_18_04_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T15_11_17_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T13_20_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T14_12_04_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T15_59_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T13_24_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T14_14_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T14_16_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T15_13_19_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T15_13_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T16_07_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-22T15_13_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T13_16_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T14_06_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T15_02_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-26T14_23_16_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-07T13_25_24_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-10T15_20_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-21T14_42_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-24T13_41_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T14_42_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T16_37_11_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T13_29_02_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T16_23_38_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-29T13_47_57_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-31T14_23_50_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-11T15_21_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-12T15_09_30_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-14T13_20_25_arena1'],\n",
       " 'PoxN2': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T13_29_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T14_25_33_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-06T15_23_12_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T13_15_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T14_05_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T14_24_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T16_10_10_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-13T15_59_40_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T16_07_25_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-20T13_17_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-22T13_23_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-26T13_22_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-07T15_09_49_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-08T15_26_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T13_46_31_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T15_30_10_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T13_53_58_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T14_43_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-24T14_36_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T14_42_54_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T15_47_08_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-28T16_23_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-29T14_34_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-11T15_21_44_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-12T15_09_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-14T14_07_10_arena4'],\n",
       " 'aristaless': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T14_23_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_02_23_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T13_23_14_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T14_15_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T13_27_20_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T14_18_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T16_17_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T13_22_20_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T14_13_46_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T15_08_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T16_00_43_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T13_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T15_07_41_arena2'],\n",
       " 'NorpA': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T15_22_02_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T16_11_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-30T13_33_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-06T14_29_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-09T13_32_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-12T13_24_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-13T14_12_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-15T16_06_53_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-16T14_16_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T14_12_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_02_15_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_54_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-26T14_23_16_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-07T14_15_27_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T14_28_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T15_26_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T14_09_38_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T15_00_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T13_46_31_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T16_27_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T13_53_58_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T15_56_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-24T16_31_14_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T13_48_17_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T16_37_11_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T13_47_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T16_16_40_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-31T16_13_39_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-04T16_09_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-11T13_24_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-12T15_09_30_arena3'],\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T13_42_23_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T14_33_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T15_22_02_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T16_11_07_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-30T14_27_48_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-05T14_25_33_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-06T15_23_12_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-12T14_18_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-13T13_20_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-15T16_06_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T13_24_37_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T14_19_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-20T13_17_32_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-23T15_02_48_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T13_22_06_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T14_23_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T16_15_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T13_25_24_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T15_58_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-08T15_26_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T14_26_21_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T15_20_27_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T16_14_19_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-11T14_09_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T14_42_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T16_33_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-22T14_37_51_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-23T14_43_15_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-24T14_36_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T13_48_17_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T15_47_08_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T16_37_11_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T14_34_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T16_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-02-04T15_15_41_arena2']}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load all usable experiments for each condition.\n",
    "experiments = {condition: [] for condition in condition_order}\n",
    "\n",
    "for condition_path in conditions:\n",
    "    \n",
    "    condition = os.path.basename(condition_path)\n",
    "    print('\\t\\n', condition)\n",
    "    \n",
    "    for item in os.scandir(condition_path):\n",
    "        if item.is_dir() and item.name not in intruders:\n",
    "\n",
    "            annotation_video = annotations.read(item.path + '.csv')\n",
    "            \n",
    "            try:\n",
    "                copulation = annotation_video[0].events[0]\n",
    "\n",
    "                # Filter out videos where copulation is interrupted.\n",
    "                copulation_end = copulation.time_interval[1]\n",
    "                if copulation_end==N_FRAMES:\n",
    "                    print('Copulation interrupted:', item.name)\n",
    "                    continue\n",
    "\n",
    "                # Filter out videos where copulation lasts less than 8 minutes.\n",
    "                copulation_duration = copulation.duration\n",
    "                if copulation_duration <= 8 * 60 * FPS:\n",
    "                    print('Copulation too short:', item.name)\n",
    "                    continue\n",
    "            \n",
    "            except IndexError:\n",
    "                continue\n",
    "\n",
    "            experiments[condition].append(item.path)\n",
    "\n",
    "experiments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DL \n",
      "\n",
      "video_2018-10-25T13_42_23_arena4\n",
      "Number of aggressive bouts is: 6\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 5\n",
      "0.8333333333333334 \n",
      "\n",
      "video_2018-10-25T14_33_07_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-25T15_22_02_arena1\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2018-10-25T16_11_07_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 17\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-10-29T13_34_11_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-29T14_30_25_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-29T15_23_04_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 4\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-10-29T15_23_04_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-30T13_33_46_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 5\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-10-30T15_21_16_arena4\n",
      "Number of aggressive bouts is: 6\n",
      "Number of clean detected \"encounters\" is: 17\n",
      "Number of detected aggressive bouts is: 6\n",
      "1.0 \n",
      "\n",
      "video_2018-11-08T13_15_26_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-08T15_53_03_arena2\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 10\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-08T15_53_03_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 5\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-09T14_24_57_arena4\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 3\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-09T16_10_10_arena1\n",
      "Number of aggressive bouts is: 8\n",
      "Number of clean detected \"encounters\" is: 1\n",
      "Number of detected aggressive bouts is: 8\n",
      "1.0 \n",
      "\n",
      "video_2018-11-12T13_24_50_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-12T16_04_41_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-13T15_07_14_arena3\n",
      "Number of aggressive bouts is: 6\n",
      "Number of clean detected \"encounters\" is: 11\n",
      "Number of detected aggressive bouts is: 6\n",
      "1.0 \n",
      "\n",
      "video_2018-11-15T13_24_06_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-15T15_07_55_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-16T16_03_35_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-19T13_24_37_arena2\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2018-11-22T13_23_26_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-07T13_25_24_arena3\n",
      "Number of aggressive bouts is: 5\n",
      "Number of clean detected \"encounters\" is: 12\n",
      "Number of detected aggressive bouts is: 5\n",
      "1.0 \n",
      "\n",
      "video_2019-01-07T14_15_27_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-08T14_28_18_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-10T13_33_34_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-21T13_49_00_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 7\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-22T15_30_10_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 8\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-23T13_53_58_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-28T14_28_36_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 11\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-31T13_34_34_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-31T15_10_22_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-04T13_23_14_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-04T15_15_41_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-05T14_28_35_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-07T14_18_30_arena2\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-07T16_17_30_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-08T13_28_42_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-11T13_24_09_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-11T14_25_15_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 9\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-12T13_18_39_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-14T14_07_10_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-14T15_15_28_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-18T13_35_00_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-18T14_58_21_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-18T14_58_21_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-19T13_31_50_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-19T14_29_27_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-21T14_29_51_arena2\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 19\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-21T15_27_33_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-22T13_22_20_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 11\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-22T15_05_09_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-25T14_15_16_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-25T16_00_43_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 5\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-26T13_16_40_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 12\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-26T14_04_30_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "PoxN1 \n",
      "\n",
      "video_2018-11-05T14_25_33_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 6\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-08T14_54_53_arena3\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 5\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-09T13_32_43_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-09T15_15_47_arena4\n",
      "Number of aggressive bouts is: 6\n",
      "Number of clean detected \"encounters\" is: 19\n",
      "Number of detected aggressive bouts is: 6\n",
      "1.0 \n",
      "\n",
      "video_2018-11-09T16_10_10_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-12T14_18_04_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-12T15_11_17_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-13T13_20_38_arena2\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 16\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-13T14_12_04_arena4\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 12\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-13T15_59_40_arena2\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 17\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2018-11-15T13_24_06_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 20\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-15T14_14_38_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-16T14_16_30_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-16T15_13_19_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-19T15_13_59_arena2\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 19\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-19T16_07_25_arena4\n",
      "Number of aggressive bouts is: 5\n",
      "Number of clean detected \"encounters\" is: 14\n",
      "Number of detected aggressive bouts is: 5\n",
      "1.0 \n",
      "\n",
      "video_2018-11-22T15_13_22_arena3\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 4\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-23T13_16_41_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-23T14_06_32_arena2\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 3\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-23T15_02_48_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-26T14_23_16_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 23\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-07T13_25_24_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-10T15_20_27_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-21T14_42_26_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-24T13_41_39_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T14_42_54_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T16_37_11_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 29\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-28T13_29_02_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-28T16_23_38_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T13_47_57_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-31T14_23_50_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-11T15_21_44_arena3\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 26\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-12T15_09_30_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-14T13_20_25_arena1\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 11\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "PoxN2 \n",
      "\n",
      "video_2018-11-05T13_29_41_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-05T14_25_33_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-06T15_23_12_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-08T13_15_26_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-08T14_05_24_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-09T14_24_57_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-09T16_10_10_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 6\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-13T15_59_40_arena3\n",
      "Number of aggressive bouts is: 5\n",
      "Number of clean detected \"encounters\" is: 16\n",
      "Number of detected aggressive bouts is: 3\n",
      "0.6 \n",
      "\n",
      "video_2018-11-19T13_24_37_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 23\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-19T13_24_37_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-19T16_07_25_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-20T13_17_32_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-22T13_23_26_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 6\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-26T13_22_06_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-07T15_09_49_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-08T15_26_26_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 21\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-10T16_14_19_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 16\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-10T16_14_19_arena4\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 15\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2019-01-22T13_46_31_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 7\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-22T15_30_10_arena4\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 28\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-01-23T13_53_58_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-23T14_43_15_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-24T14_36_54_arena4\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 4\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-25T14_42_54_arena3\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 15\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-25T15_47_08_arena4\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 18\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2019-01-28T16_23_38_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T14_34_09_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-11T15_21_44_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-12T15_09_30_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-14T14_07_10_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "aristaless \n",
      "\n",
      "video_2019-01-31T14_23_50_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-31T15_10_22_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-31T15_10_22_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-01T14_02_23_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-01T14_55_59_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-01T14_55_59_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-01T15_52_47_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 2\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-01T15_52_47_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-04T13_23_14_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-04T14_15_37_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 12\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-05T13_34_46_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 16\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-05T13_34_46_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-07T13_27_20_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-07T14_18_30_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-07T16_17_30_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-08T14_20_28_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-08T14_20_28_arena4\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 9\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-22T13_22_20_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-22T14_13_46_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-22T15_05_09_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-22T15_05_09_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-22T15_56_18_arena1\n",
      "Number of aggressive bouts is: 5\n",
      "Number of clean detected \"encounters\" is: 15\n",
      "Number of detected aggressive bouts is: 5\n",
      "1.0 \n",
      "\n",
      "video_2019-02-22T15_56_18_arena2\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-25T15_08_46_arena1\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 9\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-02-25T16_00_43_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-26T13_16_40_arena1\n",
      "Number of aggressive bouts is: 3\n",
      "Number of clean detected \"encounters\" is: 11\n",
      "Number of detected aggressive bouts is: 3\n",
      "1.0 \n",
      "\n",
      "video_2019-02-26T15_07_41_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "NorpA \n",
      "\n",
      "video_2018-10-25T15_22_02_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-25T16_11_07_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-30T13_33_46_arena4\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-06T14_29_09_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-09T13_32_43_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-12T13_24_50_arena1\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2018-11-13T14_12_04_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-15T16_06_53_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-16T14_16_30_arena2\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 4\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-20T14_12_58_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-20T15_02_15_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-20T15_54_06_arena3\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 14\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-11-26T14_23_16_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-07T14_15_27_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-08T14_28_18_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-08T15_26_26_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-11T14_09_38_arena4\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 16\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2019-01-11T15_00_11_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-22T13_46_31_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-22T16_27_19_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-23T13_53_58_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-23T15_56_06_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-24T16_31_14_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T13_48_17_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T14_42_54_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T14_42_54_arena2\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2019-01-25T16_37_11_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T13_47_57_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T16_16_40_arena4\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 13\n",
      "Number of detected aggressive bouts is: 0\n",
      "0.0 \n",
      "\n",
      "video_2019-01-31T16_13_39_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-04T16_09_37_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-11T13_24_09_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-02-12T15_09_30_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "video_2018-10-25T13_42_23_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-25T14_33_07_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 9\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2018-10-25T15_22_02_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-25T16_11_07_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-10-30T14_27_48_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-05T14_25_33_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-06T15_23_12_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-12T14_18_04_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-13T13_20_38_arena3\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2018-11-15T16_06_53_arena3\n",
      "Number of aggressive bouts is: 1\n",
      "Number of clean detected \"encounters\" is: 17\n",
      "Number of detected aggressive bouts is: 1\n",
      "1.0 \n",
      "\n",
      "video_2018-11-19T13_24_37_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-19T14_19_33_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-20T13_17_32_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-23T15_02_48_arena3\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2018-11-26T13_22_06_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-26T14_23_16_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2018-11-26T16_15_44_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-07T13_25_24_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-07T15_58_11_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-08T15_26_26_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-10T14_26_21_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-10T15_20_27_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-10T16_14_19_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-11T14_09_38_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-21T14_42_26_arena1\n",
      "No encounters for this experiment\n",
      "\n",
      "video_2019-01-21T16_33_48_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-22T14_37_51_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-23T14_43_15_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-24T14_36_54_arena1\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T13_48_17_arena4\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T15_47_08_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-25T16_37_11_arena2\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T14_34_09_arena3\n",
      "No aggression for this experiment\n",
      "\n",
      "video_2019-01-29T16_16_40_arena1\n",
      "Number of aggressive bouts is: 2\n",
      "Number of clean detected \"encounters\" is: 21\n",
      "Number of detected aggressive bouts is: 2\n",
      "1.0 \n",
      "\n",
      "video_2019-02-04T15_15_41_arena2\n",
      "No encounters for this experiment\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Initialize empty data structures to store data.\n",
    "encounters_df = pd.DataFrame()\n",
    "\n",
    "flags = {condition: {} for condition in condition_order}\n",
    "clean_dict = {condition: {} for condition in condition_order}\n",
    "intersection_fractions = {condition: {} for condition in condition_order}\n",
    "\n",
    "# Start a counter to use as the index for our temporary dataframes in the loop.\n",
    "n = 0\n",
    "for condition in condition_order:\n",
    "    \n",
    "    print(condition, '\\n')\n",
    "    \n",
    "    for experiment_path in experiments[condition]:\n",
    "\n",
    "        experiment = os.path.basename(experiment_path)\n",
    "\n",
    "        # Fetch tracking data.\n",
    "        control = True if condition == 'DL' else False\n",
    "        aggression_df, _, copulation_interval, aggression_timepoints = helpers.process_track_data(experiment_path,\n",
    "                                                                                                  trackfeat_columns=['dist_to_other'],\n",
    "                                                                                                  is_control=control,\n",
    "                                                                                                  fly_id=2,\n",
    "                                                                                                  include_aggression_only=False\n",
    "                                                                                                 )\n",
    "        \n",
    "        # Keep only frames within copulation time.\n",
    "        sliced_aggression = aggression_df.loc[copulation_interval[0]:copulation_interval[0]+(5*60*FPS)]\n",
    "        aggression_timepoints = [event for event in aggression_timepoints if event[0] < copulation_interval[0]+(5*60*FPS)]\n",
    "\n",
    "        raw = []\n",
    "        clean = []\n",
    "\n",
    "        # Apply threshold(s).\n",
    "        proximity = sliced_aggression['dist_to_other'].values < 4\n",
    "\n",
    "        # Detect event start and end, and package them into a list of tuples.\n",
    "        if proximity[0] == True:\n",
    "            proximity = np.insert(proximity, 0, False)\n",
    "        proximity_onset = proximity[:-1] < proximity[1:]\n",
    "        proximity_offset = proximity[:-1] > proximity[1:]\n",
    "        onset_indices = np.where(proximity_onset==True)[0] + copulation_interval[0]\n",
    "        offset_indices = np.where(proximity_offset==True)[0] + copulation_interval[0]\n",
    "\n",
    "        raw_events = list(zip(onset_indices, offset_indices))\n",
    "\n",
    "        if len(raw_events) > 0:\n",
    "\n",
    "            if len(raw_events) == 1:\n",
    "                clean_events = raw_events\n",
    "            else:\n",
    "                # Combine events that are very close to each other into a single event.\n",
    "                clean_events = helpers.stitch_events(raw_events, suppress=True)\n",
    "\n",
    "            assert len(clean_events) <= len(raw_events), 'Stitched events list is bigger than original list: {} vs {}'.format(len(clean_events), len(raw_events))\n",
    "\n",
    "            clean_dict[condition][experiment] = clean_events\n",
    "\n",
    "            # Check for abnormally long \"encounters\", which might be indicative of tracking issues.\n",
    "            clean_events_durations = [event[1] - event[0] for event in clean_events]\n",
    "            long_durations = np.where(np.array(clean_events_durations) >= 3600)[0] # filter for bouts that are 1 minute or longer.\n",
    "            if len(long_durations) != 0:\n",
    "                flags[condition][experiment] = [clean_events[index][0] for index in long_durations]\n",
    "\n",
    "            # Get accuracy for our detector.\n",
    "            if len(aggression_timepoints) > 0:\n",
    "                nd_aggression, _, accuracy, intersect = helpers.calc_detection_accuracy(aggression_timepoints, clean_events, threshold=0.25, use_thresh=True)\n",
    "\n",
    "                intersection_fractions[condition][experiment] = intersect\n",
    "                n_bout_overlaps = len(intersect)\n",
    "                print(accuracy, '\\n')\n",
    "\n",
    "            else:\n",
    "                n_bout_overlaps = 0\n",
    "                print('No aggression for this experiment\\n')\n",
    "        \n",
    "        # In case a given experiment has no proximity encounters whatsoever.\n",
    "        else:\n",
    "            clean_dict[condition][experiment] = []\n",
    "            clean_events_durations = []\n",
    "            nd_aggression = 0\n",
    "            accuracy = 0\n",
    "            intersect = []\n",
    "            intersection_fractions[condition][experiment] = 0\n",
    "            n_bout_overlaps = 0\n",
    "            print('No encounters for this experiment\\n')\n",
    "        \n",
    "        # From the extracted data, calculate all the variables we need.\n",
    "        copulation_duration = np.diff(copulation_interval)[0]\n",
    "        aggression_total_frame_duration = sum([np.diff(timepoint)[0] for timepoint in aggression_timepoints])\n",
    "        n_encounter_frames = sum(clean_events_durations)\n",
    "        encounters_frame_ratio = n_encounter_frames / (5 * 60 * FPS)\n",
    "        aggression_frame_ratio = aggression_total_frame_duration / n_encounter_frames if n_encounter_frames > 0 else 0\n",
    "\n",
    "        # Create a one-row pandas DataFrame to store all the information we've calculated.\n",
    "        temp_df = pd.DataFrame(data={'condition': condition,\n",
    "                                     'experiment': experiment,\n",
    "                                     'copulation_duration': copulation_duration,\n",
    "                                     'aggression_duration': aggression_total_frame_duration,\n",
    "                                     'n_bouts_aggression': len(aggression_timepoints),\n",
    "                                     'has_aggression': True if len(aggression_timepoints) > 0 else False,\n",
    "                                     'n_encounters': len(clean_events),\n",
    "                                     'fraction_aggressive_encounters': nd_aggression / len(clean_events) if len(aggression_timepoints) > 0 else 0,\n",
    "                                     'encounters_frame_ratio': encounters_frame_ratio,\n",
    "                                     'aggression_frame_ratio': aggression_frame_ratio,\n",
    "                                     'n_bout_overlaps': n_bout_overlaps\n",
    "                                    },\n",
    "                               index=[n]\n",
    "                              )\n",
    "        \n",
    "        # Store the current experiment's data into our global DataFrame.\n",
    "        encounters_df = pd.concat([encounters_df, temp_df], axis=0)\n",
    "        \n",
    "        # Increment our counter.\n",
    "        n += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>condition</th>\n",
       "      <th>experiment</th>\n",
       "      <th>copulation_duration</th>\n",
       "      <th>aggression_duration</th>\n",
       "      <th>n_bouts_aggression</th>\n",
       "      <th>has_aggression</th>\n",
       "      <th>n_encounters</th>\n",
       "      <th>fraction_aggressive_encounters</th>\n",
       "      <th>encounters_frame_ratio</th>\n",
       "      <th>aggression_frame_ratio</th>\n",
       "      <th>n_bout_overlaps</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T13_42_23_arena4</td>\n",
       "      <td>48970</td>\n",
       "      <td>617</td>\n",
       "      <td>6</td>\n",
       "      <td>True</td>\n",
       "      <td>13</td>\n",
       "      <td>0.384615</td>\n",
       "      <td>0.234833</td>\n",
       "      <td>0.145966</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T14_33_07_arena3</td>\n",
       "      <td>51063</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.221444</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T15_22_02_arena1</td>\n",
       "      <td>65572</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T16_11_07_arena3</td>\n",
       "      <td>87195</td>\n",
       "      <td>157</td>\n",
       "      <td>2</td>\n",
       "      <td>True</td>\n",
       "      <td>17</td>\n",
       "      <td>0.117647</td>\n",
       "      <td>0.143556</td>\n",
       "      <td>0.060759</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-29T13_34_11_arena3</td>\n",
       "      <td>59025</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.011389</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  condition                        experiment  copulation_duration  \\\n",
       "0        DL  video_2018-10-25T13_42_23_arena4                48970   \n",
       "1        DL  video_2018-10-25T14_33_07_arena3                51063   \n",
       "2        DL  video_2018-10-25T15_22_02_arena1                65572   \n",
       "3        DL  video_2018-10-25T16_11_07_arena3                87195   \n",
       "4        DL  video_2018-10-29T13_34_11_arena3                59025   \n",
       "\n",
       "   aggression_duration  n_bouts_aggression  has_aggression  n_encounters  \\\n",
       "0                  617                   6            True            13   \n",
       "1                    0                   0           False             6   \n",
       "2                    0                   0           False             6   \n",
       "3                  157                   2            True            17   \n",
       "4                    0                   0           False             5   \n",
       "\n",
       "   fraction_aggressive_encounters  encounters_frame_ratio  \\\n",
       "0                        0.384615                0.234833   \n",
       "1                        0.000000                0.221444   \n",
       "2                        0.000000                0.000000   \n",
       "3                        0.117647                0.143556   \n",
       "4                        0.000000                0.011389   \n",
       "\n",
       "   aggression_frame_ratio  n_bout_overlaps  \n",
       "0                0.145966                5  \n",
       "1                0.000000                0  \n",
       "2                0.000000                0  \n",
       "3                0.060759                2  \n",
       "4                0.000000                0  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "encounters_df['fraction_aggressive_encounters'] = encounters_df['fraction_aggressive_encounters'].apply(lambda x: 1 if x > 1 else x)\n",
    "encounters_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## What fraction of \"encounters\" during copulation are aggressive?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\t PoxN1 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.765257\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.3515847402513992 \n",
      "\n",
      "\n",
      "\t PoxN2 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.204276\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.3891517189312923 \n",
      "\n",
      "\n",
      "\t aristaless \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.280288\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.2938766004888357 \n",
      "\n",
      "\n",
      "\t NorpA \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.013053\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.0040715912227181055 \n",
      "\n",
      "\n",
      "\t Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.005752\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.0008902635765739048 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': 0.3515847402513992,\n",
       " 'PoxN2': 0.3891517189312923,\n",
       " 'aristaless': 0.2938766004888357,\n",
       " 'NorpA': 0.0040715912227181055,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': 0.0008902635765739048}"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fraction_agg_pvalues = {}\n",
    "\n",
    "control = encounters_df.query('condition==\"DL\"')['fraction_aggressive_encounters']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "        \n",
    "    print('\\n\\t', condition, '\\n')\n",
    "\n",
    "    try:\n",
    "        test = encounters_df.query('condition==\"' + condition + '\"')['fraction_aggressive_encounters']\n",
    "\n",
    "        temp_values = {'control': control, 'test': test}\n",
    "\n",
    "        pvalue_condition = helpers.run_statistics(temp_values)\n",
    "\n",
    "        fraction_agg_pvalues[condition] = pvalue_condition\n",
    "        \n",
    "    except ValueError as error:\n",
    "        print(error)\n",
    "    \n",
    "fraction_agg_pvalues"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Bonferroni Correction\n",
      "---------------------\n",
      "\n",
      "\tOriginal Values:\n",
      " {'PoxN1': 0.3515847402513992, 'PoxN2': 0.3891517189312923, 'aristaless': 0.2938766004888357, 'NorpA': 0.0040715912227181055, 'Ir8a_Ir25a_ORCO_Gr63a': 0.0008902635765739048}\n",
      "\n",
      "\tCorrected Values:\n",
      " {'PoxN1': 1.0, 'PoxN2': 1.0, 'aristaless': 1.0, 'NorpA': 0.02035795611359053, 'Ir8a_Ir25a_ORCO_Gr63a': 0.004451317882869524} \n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Bonferroni corretction for multiple comparisons.\n",
    "title = 'Bonferroni Correction'\n",
    "print(title)\n",
    "print('-'*len(title))\n",
    "\n",
    "# Show uncorrected values.\n",
    "print('\\n\\tOriginal Values:\\n', fraction_agg_pvalues)\n",
    "\n",
    "# Apply the bonferroni correction for multiple comparisons.\n",
    "fraction_agg_multi_comp_correction = multipletests(pvals=list(fraction_agg_pvalues.values()), alpha=0.05, method='bonferroni')[1]\n",
    "\n",
    "# Transform the correction results into a dictionary.\n",
    "corrected_fraction_agg_pvalues = dict(zip(list(fraction_agg_pvalues.keys()), fraction_agg_multi_comp_correction))\n",
    "\n",
    "# Show corrected values.\n",
    "print('\\n\\tCorrected Values:\\n', corrected_fraction_agg_pvalues, '\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Effect Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PoxN1\n",
      "PoxN2\n",
      "aristaless\n",
      "NorpA\n",
      "Ir8a_Ir25a_ORCO_Gr63a\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Miguel\\Desktop\\paper_data\\paper_code\\figureS3\\Four-Arena Setup\\sensory_mutants\\mutants\\helpers.py:466: RuntimeWarning: invalid value encountered in double_scalars\n",
      "  fold_change = median_diff / control_median\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': nan,\n",
       " 'PoxN2': nan,\n",
       " 'aristaless': nan,\n",
       " 'NorpA': nan,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': nan}"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fraction_agg_effect_sizes = {}\n",
    "\n",
    "control = encounters_df.query('condition==\"DL\"')['fraction_aggressive_encounters']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "    \n",
    "    print(condition)\n",
    "    \n",
    "    test = encounters_df.query('condition==\"' + condition + '\"')['fraction_aggressive_encounters']\n",
    "\n",
    "    median_diff = helpers.get_effect_size(control, test, method='median_diff')\n",
    "    \n",
    "    fraction_agg_effect_sizes[condition] = median_diff\n",
    "    \n",
    "fraction_agg_effect_sizes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 540x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Initialize figure.\n",
    "n_conditions = encounters_df['condition'].nunique()\n",
    "figure, axis = plt.subplots(figsize=(1.25*n_conditions, 4))\n",
    "\n",
    "# Draw the boxplot.\n",
    "sns.boxplot(x='condition',\n",
    "            y='fraction_aggressive_encounters',\n",
    "            data=encounters_df,\n",
    "            palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "            width=0.6,\n",
    "            showfliers=False,\n",
    "            boxprops={'edgecolor': INK},\n",
    "            capprops={'color': INK},\n",
    "            medianprops={'color': INK},\n",
    "            whiskerprops={'color': INK}\n",
    "           )\n",
    "\n",
    "# Draw the swarmplot.\n",
    "sns.swarmplot(x='condition',\n",
    "              y='fraction_aggressive_encounters',\n",
    "              data=encounters_df,\n",
    "              palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "              edgecolor=INK,\n",
    "              linewidth=0.75,\n",
    "              dodge=False\n",
    "             )\n",
    "\n",
    "# Figure and axes formatting.\n",
    "axis.set_xlabel('')\n",
    "axis.set_xticklabels([''])\n",
    "axis.set_ylabel('Aggressive Encounters (%)')\n",
    "axis.set_ylim(0, 1.015)\n",
    "axis.set_yticks(np.arange(0, 1+0.1, 0.2))\n",
    "axis.set_yticklabels([int(y*100) for y in axis.get_yticks()])\n",
    "\n",
    "# Table definition.\n",
    "row1 = [str(encounters_df.query('condition==\"'+condition+'\"').shape[0]) for condition in condition_order]\n",
    "row2_labels = ['WT', '${Poxn}$1', '${Poxn}$2', 'aristaless', '${norpA}$', '${IR8a\\N{SUPERSCRIPT ONE}, IR25a\\N{SUPERSCRIPT TWO}}$,\\n${GR63a\\N{SUPERSCRIPT ONE}, ORCO\\N{SUPERSCRIPT ONE}}$']\n",
    "row2_labels = [label + '\\n' for label in row2_labels]\n",
    "row2 = row2_labels\n",
    "cell_text = np.array([row1, row2])\n",
    "\n",
    "row_labels = ['n =', '']\n",
    "summary_table = axis.table(cellText= cell_text,\n",
    "                           cellLoc='center',\n",
    "                           rowLabels=row_labels,\n",
    "                           rowLoc='center',\n",
    "                           colLoc='center'\n",
    "                          )\n",
    "\n",
    "summary_table.auto_set_font_size(False)\n",
    "summary_table.set_fontsize(11)\n",
    "\n",
    "properties = summary_table.properties()\n",
    "table_cells = properties['children']\n",
    "for cell in table_cells:\n",
    "    cell.set_height(0.12)\n",
    "    cell.set_alpha(0)\n",
    "\n",
    "# Draw statistical results.\n",
    "for p, condition in enumerate(condition_order[1:]):\n",
    "    sig_height = 6 if (corrected_fraction_agg_pvalues.get(condition, 'NaN') == 'NaN') or (corrected_fraction_agg_pvalues.get(condition, 'NaN') >= 0.05) else 2\n",
    "    helpers.plot_stattest_result(ax=axis,\n",
    "                                 x1=p+1,\n",
    "                                 x2=p+1,\n",
    "                                 p_value=corrected_fraction_agg_pvalues.get(condition, 'NaN'),\n",
    "                                 y=0.95,\n",
    "                                 ticksize=0,\n",
    "                                 xytext=(0,sig_height),\n",
    "                                 fontsize=13,\n",
    "                                 color=INK,\n",
    "                                 connector_color=INK\n",
    "                                )\n",
    "\n",
    "# Saving parameters.\n",
    "filename = 'percentage_aggressive_encounters_first_5mins_sensory_mutants'\n",
    "plt.savefig(os.path.join(savepath, filename))\n",
    "\n",
    "plt.show()\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
